package src.array;

public class no844 {
    //比较含退格的字符串
    public static void main(String[] args) {
        String s = "ab##m";
        String t = "c#d#m";
        System.out.println(resString(s));
        System.out.println(resString(t));
        System.out.println(backspaceCompare(s, t));
    }

    //字符串先转变为字符数组，或者用s.charAt(i)方法通过下标获得索引i处的单个字符
    public static boolean backspaceCompare(String s, String t) {
        return resString(s).equals(resString(t));

    }
    public static String resString(String s) {
       char[] charArray= s.toCharArray();
       //遇到字母两指针都向前一位，遇到#号快指针向前一位，慢指针后退一位(注意0位置,加一个if判断)
        int i = 0;
        int j = 0;
        while (j < s.length()) {
            if(s.charAt(j) != '#') {
                charArray[i] = charArray[j];
                i++;
                j++;

            }else {
                j++;
                if(i > 0){
                    i--;
                }
            }
        }

        return new String(charArray).substring(0,i);  //注意这里字符串已经变了，所以把当前数组存到一个新串再截取
    }
}
